package com.apes.framework.plugin.outbox.annotation;

import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

@Inherited
@Target({METHOD, FIELD})
@Retention(RUNTIME)
public @interface OutboxSubscriber {
    /**
     * 编号
     **/
    String id() default "";

    /**
     * 描述
     **/
    String name();

    /**
     * 执行条件
     **/
    String condition() default "";

    /**
     * 事件类型
     **/
    String eventType() default "S";


    /**
     * 聚合根类型
     **/
    String aggregateType() default "";
}